package com.thingple.rodbell;

import com.thingple.rodbell.listener.CarryStateListener;
import com.thingple.rodbell.listener.TagListener;

/**
 * Rodbell UHF读卡器数据包解析协议
 */
public interface PacketProcessor {
    /**
     * 收到数据
     * @param packet 数据包可能是半包或多个不完整包
     */
    void onReceiveData(byte[] packet);

    /**
     * 标签号监听
     * @param listener listener
     */
    void setTagListener(TagListener listener);

    /**
     * 货物状态监听
     * @param listener listener
     */
    void setCarryStateListener(CarryStateListener listener);

    /**
     * 开始
     */
    void start();

    /**
     * 停止
     */
    void stop();

    void setDebug(boolean enable);
}
